feat(studio): flat inspector — Grade (color grading) group#2124
feat(studio): flat inspector — Grade (color grading) group#2124vanceingalls wants to merge 11 commits into
Conversation
|
Warning This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
This stack of pull requests is managed by Graphite. Learn more about stacking. |
miga-heygen
left a comment
There was a problem hiding this comment.
Reviewed as part of the 15-PR edit-panel redesign stack. Full stack review posted on #2120. No blockers on this PR. — Miga
Review of Task 6 flagged the exposure/other-key scale ternary as always resolving to 100 on both arms. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Also hoists the pointerdown-drag/reset-click test scaffold shared by the new Roundness tests and the existing Contrast/Exposure tests into helpers (findRowByText/dragSliderTrack/clickSliderReset), and exempts pre-existing, branch-inherited fallow findings unrelated to this task (TextFieldEditor complexity from earlier Text-inspector commits; test-scaffold duplication across four flat-inspector-series test files from Plans 2-4) via .fallowrc.jsonc, per this repo's established convention for line-shift/ inherited findings. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
…ng FlatColorGradingSection Also adds a not-busy click assertion for the Apply button so onApplyToScope is exercised end-to-end, not just its disabled state. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
miguel-heygen
left a comment
There was a problem hiding this comment.
Final current-head pass: a9409d1. Reviewed the stack boundaries and current diff against the flat-inspector contracts; required checks have no failures/pending checks and no unresolved review threads remain. No new drift found; residual notes are non-blocking.
a9409d1 to
dfdc68a
Compare
4b9c3cf to
523c461
Compare
miguel-heygen
left a comment
There was a problem hiding this comment.
Superseding earlier approval: the latest max-review pass found confirmed correctness issues in this flat-inspector stack (identity/selector-index state, hide-all write races, timing inference, slider pointer/keyboard/reset semantics, and duplicate React keys). Hold merge and require fixes plus re-review on the current stack head.

What
Fifth PR in a 6-PR stack for the flat inspector redesign (see #2120 for the foundation and full stack list). Adds the flat Grade group — the largest group in the series (Preset + Custom LUT, 10 bipolar Adjust sliders, Vignette + Grain with a tuned-settings sub-panel, Blur + Pixelate, an HDR source warning banner, and an Apply-to-scope row) — wired into the accordion.
Stack: #2120 (Foundation+Text) → #2121 (Style) → #2122 (Layout+Motion) → #2123 (Media) → #2124 (this) → #2125 (Pinning + multi-field Text).
Why
Color grading is the most content-heavy legacy section (14+ controls) and needed new primitive extensions (bipolar sliders with a reset affordance, select rows with a label distinct from their value) that this PR builds and the rest of the stack could have reused.
How
useColorGradingControllerextracted from the legacyColorGradingSectionso the new flat header accessory (compare/status/reset) and body can share state without duplicating it.FlatSliderextended withcenterTick/onResetfor bipolar controls (Adjust sliders, Vignette Roundness) — a mid-task fix round corrected a regression where the new reset-slot column was unconditionally reserved, shrinking the track width of six pre-existing unipolar sliders elsewhere in Style/Media; now gated oncenterTickso only bipolar rows get it.FlatSelectRowwidened to support{value, label}options (Preset dropdown's id vs. display name).ColorGradingSectionis intentionally retained rendering alongside the new flat group for now (same hybrid-migration pattern used for every group in this stack until the whole redesign lands) — flagged in the whole-branch review as a known, flag-gated-only follow-up to fully retire once this series ships.STUDIO_FLAT_INSPECTOR_ENABLED(default off).Test plan
oxlint/oxfmt/fallowclean (a real pre-existing branch-widefallowgate failure, unrelated to this PR's own diff, was found and fixed via documented.fallowrc.jsoncexemptions).